#!/usr/bin/env node

const fs = require('fs')
const path = require('path')
const inquirer = require('inquirer')
const ejs = require('ejs')

inquirer.prompt([{
    type: 'input',
    name: 'projName',
    message: '请指定项目名'
}])
    .then((answers) => {
        // 模板目录
        const tmpDir = path.join(__dirname, 'templates')
        // 目标目录
        const destDir = process.cwd()

        // 将 templates 目录下的文件依次处理, 输出到目标目录
        fs.readdir(tmpDir, (err, files) => {
            if (err) throw err

            // 遍历每个文件
            files.forEach((file) => {
                // 渲染 ejs 模板
                ejs.renderFile(
                    path.join(tmpDir, file), 
                    answers,
                    (err, result) => {
                        if (err) throw err

                        fs.writeFileSync(path.join(destDir, file), result)
                    }
                )
            })
        })
    })